package com.miracle.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.miracle.system.base.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * @author ：miracle.cui
 * @description：TODO
 * @date ：2020/7/21 14:35
 */
public class SysUser extends BaseEntity {
    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 用户登录名称
     */
    private String userName;

    /**
     * 密码
     */
    private String password;

    /**
     * 盐
     */
    private String salt;

    /**
     * 认证模式
     */
    private String authmode;

    /**
     * 状态
     */
    private String status;

    /**
     * 最近登录日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastlogin;

    /**
     * 出错次数
     */
    private Integer errcount;

    /**
     * 生效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date validDate = new Date();

    /**
     * 失效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date invalidDate;

    /**
     * 允许操作时间
     */
    private int validTimes;

    /**
     * 允许的MAC
     */
    private String macCode;

    /**
     * 允许的IP
     */
    private String ipAddress;

    /**
     * 员工编号
     */
    private String empcode;

    /**
     * 员工姓名
     */
    private String empname;

    /**
     * 实际名称
     */
    private String realname;

    /**
     * 性别
     */
    private String gender;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthdate;

    /**
     * 职位
     */
    private String position;

    /**
     * 在职状态
     */
    private String empstatus;

    /**
     * 证件类型
     */
    private String cardtype;

    /**
     * 证件号码
     */
    private String cardno;

    /**
     * 入职日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date indate;

    /**
     * 离职日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outdate;

    /**
     * 办公电话
     */
    private String otel;

    /**
     * 办公地址
     */
    private String oaddress;

    /**
     * 邮政编码
     */
    private String ozipcode;

    /**
     * 传真
     */
    private String faxno;

    /**
     * 移动电话
     */
    private String mobileno;

    /**
     * MSN
     */
    private String msn;

    /**
     * QQ
     */
    private String qq;

    /**
     * 家庭电话
     */
    private String htel;

    /**
     * 联系地址
     */
    private String haddress;

    /**
     * 职级
     */
    private String positionLevel;

    /**
     * 职等
     */
    private String positionRank;

    /**
     * 国籍
     */
    private String nationality;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 删除标记
     */
    private String delSign;

    private String userType;
    private Integer areaId;

    /**
     * 用户的角色列表
     */
    private List<SysRole> userRoles;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getAuthmode() {
        return authmode;
    }

    public void setAuthmode(String authmode) {
        this.authmode = authmode;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getLastlogin() {
        return lastlogin;
    }

    public void setLastlogin(Date lastlogin) {
        this.lastlogin = lastlogin;
    }

    public Integer getErrcount() {
        return errcount;
    }

    public void setErrcount(Integer errcount) {
        this.errcount = errcount;
    }

    public Date getValidDate() {
        return validDate;
    }

    public void setValidDate(Date validDate) {
        this.validDate = validDate;
    }

    public Date getInvalidDate() {
        return invalidDate;
    }

    public void setInvalidDate(Date invalidDate) {
        this.invalidDate = invalidDate;
    }

    public int getValidTimes() {
        return validTimes;
    }

    public void setValidTimes(int validTimes) {
        this.validTimes = validTimes;
    }

    public String getMacCode() {
        return macCode;
    }

    public void setMacCode(String macCode) {
        this.macCode = macCode;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getEmpcode() {
        return empcode;
    }

    public void setEmpcode(String empcode) {
        this.empcode = empcode;
    }

    public String getEmpname() {
        return empname;
    }

    public void setEmpname(String empname) {
        this.empname = empname;
    }

    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(Date birthdate) {
        this.birthdate = birthdate;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getEmpstatus() {
        return empstatus;
    }

    public void setEmpstatus(String empstatus) {
        this.empstatus = empstatus;
    }

    public String getCardtype() {
        return cardtype;
    }

    public void setCardtype(String cardtype) {
        this.cardtype = cardtype;
    }

    public String getCardno() {
        return cardno;
    }

    public void setCardno(String cardno) {
        this.cardno = cardno;
    }

    public Date getIndate() {
        return indate;
    }

    public void setIndate(Date indate) {
        this.indate = indate;
    }

    public Date getOutdate() {
        return outdate;
    }

    public void setOutdate(Date outdate) {
        this.outdate = outdate;
    }

    public String getOtel() {
        return otel;
    }

    public void setOtel(String otel) {
        this.otel = otel;
    }

    public String getOaddress() {
        return oaddress;
    }

    public void setOaddress(String oaddress) {
        this.oaddress = oaddress;
    }

    public String getOzipcode() {
        return ozipcode;
    }

    public void setOzipcode(String ozipcode) {
        this.ozipcode = ozipcode;
    }

    public String getFaxno() {
        return faxno;
    }

    public void setFaxno(String faxno) {
        this.faxno = faxno;
    }

    public String getMobileno() {
        return mobileno;
    }

    public void setMobileno(String mobileno) {
        this.mobileno = mobileno;
    }

    public String getMsn() {
        return msn;
    }

    public void setMsn(String msn) {
        this.msn = msn;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getHtel() {
        return htel;
    }

    public void setHtel(String htel) {
        this.htel = htel;
    }

    public String getHaddress() {
        return haddress;
    }

    public void setHaddress(String haddress) {
        this.haddress = haddress;
    }

    public String getPositionLevel() {
        return positionLevel;
    }

    public void setPositionLevel(String positionLevel) {
        this.positionLevel = positionLevel;
    }

    public String getPositionRank() {
        return positionRank;
    }

    public void setPositionRank(String positionRank) {
        this.positionRank = positionRank;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDelSign() {
        return delSign;
    }

    public void setDelSign(String delSign) {
        this.delSign = delSign;
    }

    public List<SysRole> getUserRoles() {
        return userRoles;
    }

    public void setUserRoles(List<SysRole> userRoles) {
        this.userRoles = userRoles;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }
}
